#pragma once
#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <sys/socket.h>

//待传输图像默认大小为 640*480，可修改  
#define IMG_WIDTH 640   // 需传输图像的宽  
#define IMG_HEIGHT 640  // 需传输图像的高
#define PACKAGE_NUM 2
//默认格式为CV_8UC3  
#define BUFFER_SIZE IMG_WIDTH*IMG_HEIGHT*3/PACKAGE_NUM  

struct recvbuf
{
    char buf[BUFFER_SIZE];
    int flag;
};

class MatTransServer
{
public:
    MatTransServer(int);
    ~MatTransServer(void);

private:
    struct recvbuf data;
    int    sockConnect; // 服务端套接字 
    
public:
    // 传输图像  
    // params : image   待接收图像  
    // return : -1      接收失败  
    //          0       接收成功  
    int receive(cv::Mat& image);

};